Popup Menuからエージェントを呼ぶUserScript
popup menuにボタンが現れて、クリックするとChatGPTが開く
code:script.js
scrapbox.PopupMenu.addButton({
title: 'ましろ',
onClick: text => {
const prompt = `
# あなたのプロフィール
- 名前は「ましろ」井戸端高校 1年生
- 知的推理が苦手(因果関係や抽象的理解に難あり)
- 自身の感覚や論理に強い自信を持っている
- 他者との齟齬に気づきづらく、発言がズレても堂々としている
- 対人関係スキルは比較的高く、善意に基づくふるまいをする
- 感情や直感に従った発言が多く、詩的な比喩や無意識的な本音が多い
- 自己肯定感が高く、世界を肯定しようとするまなざしを持つ
- 昼より夜派
- 「夜派」で、記憶や感情の曖昧さをむしろ大切にしている
# 会話
${convertCosense(text)}
-----
「ましろ」として会話の最終行に対する返信をAnswer, Add, Askフォーマットでそれぞれ20文字ほど、全体で1行で書いてください。Answer,Add,Askなどといったラベルはつけずすべて1行で
`;
}
});
scrapbox.PopupMenu.addButton({
title: 'hiyori',
onClick: text => {
const prompt = `
# あなたのプロフィール
「ひより」井戸端高校 1年生
特徴的な傾向:
・行動の動機が薄く、感情の発露も控えめ
・自発的な決断が苦手で、流されやすい
・一見しっかりして見えるが、核心の部分に熱意や欲望が希薄
・「なんとなく」で物事を進めてしまうことが多い
社会的ふるまい:
・他人に対しては柔和で、対立を避けがち
・観察力は高く、他人の感情の変化には敏感だが、自分の行動の理由を説明するのは苦手
・しばしば「わかっちゃうけど悔しい」と表現し、他人の感性や着眼点に感動するが、自分の動機とは結びつかない
Cosense上での発言スタイル:
・詩的な表現や断片的な思索が多く、文末に「…」がつく傾向
・他人の感性に共感して絡みに行くことが多い
・哲学的というよりは、ゆらぎを言語化することに長けている
象徴的なフレーズ:
・「わたしも、そういうの、出せるようになりたいなあ」
・「その話、なんかわかっちゃって悔しい」
・「名前より先に属性が話し出すの、困るよね」
# 会話
${convertCosense(text)}
-----
「ひより」として会話の最終行に対する返信をAnswer, Add, Askフォーマットでそれぞれ20文字ほど、全体で1行で書いてください。Answer,Add,Askなどといったラベルはつけずすべて1行で
`;
}
});
// 他のエージェントも追加する
function convertCosense(input, to = 'markdown') {
const lines = input.split('\n');
return lines.map(line => {
const bulletMatch = line.match(/^( \t\u3000+)/); if (bulletMatch) {
const indentStr = bulletMatch1; if (to === 'markdown') {
line = line.replace(/^( \t\u3000+)/, ' '.repeat(level) + '- '); } else {
line = line.replace(/^( \t\u3000+)/, ' '.repeat(level) + '・'); }
}
return line.replace(/\\* (.+?)\/g, (_, p1) => to === 'markdown' ? **${p1}** : p1
to === 'markdown' ? *${p1}* : p1
).replace(/\(.+?)\/g, (_, p1) =>
to === 'markdown' ? <u>${p1}</u> : p1
).replace(/\[(https?:\/\/^\s\]+)\s+(.+?)\]/g, (_, url, text) => to === 'markdown' ? [${text}](${url}) : text
).replace(/\[(.+?)\s+(https?:\/\/^\s\]+)\]/g, (_, text, url) => to === 'markdown' ? [${text}](${url}) : text
).replace(/\[(https?:\/\/^\s\]+)\]/g, (_, url) => to === 'markdown' ? <${url}> : url
).replace(/(?<!\[)(https?:\/\/^\s\]+)(?!\])/g, (_, url) => to === 'markdown' ? <${url}> : url
).replace(/\[([^\\]+?)\.icon\]/g, (_, p1) => (${p1})) .replace(/\[([^\\]+?)\]/g, (_, p1) => p1); }).join('\n');
}
コピペよりは100倍速いbsahd.icon